/*
 * Bombs.h
 *
 *  Created on: 2010-05-27
 *      Author: mateusz
 */

#ifndef BOMBS_H_
#define BOMBS_H_

#include "Bomb.h"

#include "Map.h"

#include <vector>

using namespace std;

/**
 * Pojemnik bomb.
 */

class Bombs {
public:
	Bombs();
	virtual ~Bombs();

	/**
	 * Dodaje bombe do mapy.
	 * @param x wspolrzedna x w pikselach
	 * @param y wspolrzedna y w pikselach
	 * @param map mapa do ktorej zostanie dodana bomba
	 * @param mine okresla czy to bomba gracza czy przeciwnika
	 */
	bool addBomb( int x, int y, Map* map, bool mine );

	/**
	 * Sprawdza czy jakaś bomba nie powinna już wybuchnąć. Jesli tak
	 * to ja wysadza.
	 */
	void check(Map* map);

	/**
	 * Usuwa wszystkie bomby.
	 */
	void clear();

	Bombs& operator+=( Bomb bomb ) { bombs.push_back(bomb); return *this; }
private:
	vector<Bomb> bombs;

	/**
	 * Czas po jakim zostaja wysadzane bomby
	 */
	int delay;
	int numberOfBombs;
};

#endif /* BOMBS_H_ */
